package com.link.gateway.core.comproperty;


/**
 * @author HuangLJ
 * @date 2019-07-23 16:30
 * @version 1.0
 * 统一定义各个过滤器的order
 */

public class FilterOrderConstants {
    /**
     * 校验token的过滤器
     */
    public static final int TOKEN_CHECK_ORDER = 5;

    /**
     * 校验权限的过滤器
     */
    public static final int PERMISSION_CHECK_ORDER = 20;

    /**
     * 请求头校验的过滤器
     */
    public static final int HEADER_MANAGER_ORDER = 2;

    /**
     * 校验IP黑白名单的过滤器执行顺序
     */
    public static final int VERIFY_BLACK_WHITE_IP = 6;
    /**
     * 统一处理登录访问请求
     */
    public static final int VISIT_STATISTICS_ORDER = 4;

    /**
     * 统一处理登录访问请求后续处理
     */
    public static final int VISIT_STATISTICS_ORDER_LAST = 21;

    /**
     * 校验范围的过滤器
     */
    public static final int CHECK_SCOPE_ORDER = 15;

    /**
     * 传到Kafka消息队列生成日志过滤器，值比较大，保证为最后执行
     */
    public static  final int KAFKA_LOG_ORDER = 300;

    /**
     * 保存响应体 filter的order的值；必须小于-1
     */
    public static  final int SAVE_RESP_BODY = -2;

    /**
     * 保存请求体 filter的order的值
     */
    public static  final int CACHE_REQ_BODY = 3;

    /**
     * 局部过滤器IgnoreGlobalFilter order属性值
     * @author 郭闪
     * @date 2019/12/11
     */
    public static final int IGNORE_GLOBAL_FILTER_ORDER = -10;
}
